The process of monitoring, evaluating, and/or modifying existing computing systems to make required or desirable improvements is often referred to as system maintenance. System maintenance is typically an ongoing activity that covers a wide variety of activities, including the removal of program or design errors and updating documentation or test data. System maintenance may include both corrective and preventive tasks that are performed on one or more computing systems.
In general, system maintenance is time consuming and expensive. It can also, in many cases, cause extensive downtime if done improperly. To avoid improper system maintenance, extensive training is often required for existing systems, with additional training required for new capabilities before they can be implemented. This training often slows the deployment of new capabilities.